** 我們要怎麼印出1到10之間的偶數呢,我們能用for來寫,昨天我們有用比較直觀的寫法來寫,但我們今天能用比較偏數學的概念來寫,也更有彈性來過濾條件**
#include <stdio.h>
int main()
{
int count;
for(count=1;count<=10;count++)
{
if(count%2==0)
{
printf("%d\n", count);
}
}
return 0;
}
上面的程式碼中for迴圈會將所有有可能的數字數出來,那if只要負責把符合條件的數字找出來當作過濾的條件,我們搭配這個if我們可以把思考變得很簡單
我們可以用下程式碼來表達為何這樣過濾條件使得思考變簡單
#include <stdio.h>
int main()
{
int count;
for(count=1;count<=10;count++)
{
if(count%2==0&&count%3!=0)
{
printf("%d\n", count);
}
}
return 0;
}
上面的程式碼是印出1到10之間不是三的倍數的偶數,雖然上面讓他跑十次在用if過濾他有點沒效率,但我們後來加的判斷不是三的倍數只要&&和加在判斷裡面就能跑,那我這樣的思考就相當簡單不需要太複雜在for裡面判斷
#include <stdio.h>
int main()
{
int count;
for(count=2;count<=10;count+=2)
{
if(count%3!=0)
{
printf("%d\n", count);
}
}
return 0;
}
上面的程式碼是更精簡的印出1到10之間不是三的倍數的偶數,count從2開始跑count始終小於等於10每次count+2其實這個迴圈只會跑五次,找出所有的嫌疑犯然後嫌疑犯的數字就變少再加上if過濾不是三的倍數,我們最後印出count就是我們要的1到10之間不是三的倍數的偶數
C++中有三種方法,可以將引數傳遞給函示,1使用傳值呼叫pass by value 2使用參考引數的傳參考呼叫pass by reference with reference arguments 3使用指標引數的傳參考呼叫pass by reference with pointer arguments廢話不多說上程式碼
#include <iostream>
using namespace std;
int cubeByVaule(int);
int main()
{
int number=5;
cout<<"The original vaule of number is "<<number;
number=cubeByVaule(number);
cout<<"\nThe new vaule of number is "<<number<<endl;
}
int cubeByVaule(int n)
{
return n*n*n;
}
上面的程式碼我們採傳值呼叫,將變數number傳給函示cubeByVaule,函示cubeByvaule計算引數的立方,並使用return敘述把結果傳回main,在main中此值會設給number,呼叫的函示可在修改變數number之值前,檢查呼叫函示的結果,例如我們可將cubeByVaule的結果儲存到另一個變數,檢視並判斷這個數值是否合法,再將結果指定給number